0,2=>0,3=>0,4=>0,5=>0,6=>0);
$tmpPM10=array();
$tmpPM20=array();
//wczoraj
if (file_exists($czujniki[$indekser][3] . '/'.$file_yesterday)) {
if (($handle = fopen($czujniki[$indekser][3] . '/'.$file_yesterday, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$tmpPM10[$data[10]] = $data[9];
$tmpPM20[$data[7]] = $data[6];
if (strtotime("now")-strtotime($data[0])>86400) continue;
if ($czujniki[$indekser][5]==0) { // gdy to czujnik smogtok
//obliczamy srednia z godziny PM10
$licznik=0;
$sumcia=0;
foreach ($tmpPM10 as $key1=>$val1) {
if ((strtotime($data[10])-strtotime($key1)>=0) and (strtotime($data[10])-strtotime($key1)<3600)) {
$sumcia+=$val1;
$licznik++;
}
}
if ($licznik>0) {
$pm10final= round($sumcia/$licznik,2);
}else $pm10final= $data[9];
//obliczamy srednia z godziny PM25
$licznik=0;
$sumcia=0;
foreach ($tmpPM20 as $key1=>$val1) {
if ((strtotime($data[7])-strtotime($key1)>=0) and (strtotime($data[7])-strtotime($key1)<3600)) {
$sumcia+=$val1;
$licznik++;
}
}
if ($licznik>0) {
$pm20final= round($sumcia/$licznik,2);
}else $pm20final= $data[6];
}
else { // gdy to nie jest czujnik smogotk
$pm20final =$data[6];
$pm10final = $data[9];
}
if ($czujniki[$indekser][5]!=2) $temperatury[$data[5]] = $data[4];
$wilgotnosci[$data[3]] = $data[2];
$pm20[$data[7]] = $pm20final;//$data[6];
$pm10[$data[10]] = $pm10final;//$data[9];
$CURRENT_PM10=$pm10final;//$data[9];
$CURRENT_PM20=$pm20final;//$data[6];
$CURRENT_TMP=$data[4];
$CURRENT_WIL=$data[2];
$CURRENT_IJP=$data[1];
$CURRENT_POM=$data[0];
$liczniki[$CURRENT_IJP]++;
if ($czujniki[$indekser][5]==1) $CURRENT_Press=$data[12];
}
fclose($handle);
}
}
//dzisiaj
unset($tmpPM10);
unset($tmpPM20);
if (file_exists($czujniki[$indekser][3] . '/'.$file_today)) {
if (($handle = fopen($czujniki[$indekser][3] . '/'.$file_today, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if (strtotime("now")-strtotime($data[0])>86400) continue;
$tmpPM10[$data[10]] = $data[9];
$tmpPM20[$data[7]] = $data[6];
//obliczamy srednia z godziny PM10
$licznik=0;
$sumcia=0;
foreach ($tmpPM10 as $key1=>$val1) {
if ((strtotime($data[10])-strtotime($key1)>=0) and (strtotime($data[10])-strtotime($key1)<3600)) {
$sumcia+=$val1;
$licznik++;
}
}
if ($licznik>0) {
$pm10final= round($sumcia/$licznik,2);
}else $pm10final= $data[9];
//obliczamy srednia z godziny PM25
$licznik=0;
$sumcia=0;
foreach ($tmpPM20 as $key1=>$val1) {
if ((strtotime($data[7])-strtotime($key1)>=0) and (strtotime($data[7])-strtotime($key1)<3600)) {
$sumcia+=$val1;
$licznik++;
}
}
if ($licznik>0) {
$pm20final= round($sumcia/$licznik,2);
}else $pm20final= $data[6];
$temperatury[$data[5]] = $data[4];
$wilgotnosci[$data[3]] = $data[2];
$pm20[$data[7]] = $pm20final;//$data[6];
$pm10[$data[10]] = $pm10final;//$data[9];
$CURRENT_PM10=$pm10final;//$data[9];
$CURRENT_PM20=$pm20final;//$data[6];
$CURRENT_TMP=$data[4];
$CURRENT_WIL=$data[2];
//$CURRENT_IJP=$data[1];
//pm20
if ($pm20final < 14) $ijp=1;
else if ($pm20final < 36) $ijp=2;
else if ($pm20final < 56) $ijp=3;
else if ($pm20final < 76) $ijp=4;
else if ($pm20final < 111) $ijp=5;
//if ($pm20final < 13) $ijp=1;
//else if ($pm20final < 37) $ijp=2;
//else if ($pm20final < 61) $ijp=3;
//else if ($pm20final < 85) $ijp=4;
//else if ($pm20final < 120) $ijp=5;
else $ijp=6;
$ijp20=$ijp;
//pm10
//if ($pm10final < 21) $ijp=1;
//else if ($pm10final < 61) $ijp=2;
//else if ($pm10final < 101) $ijp=3;
//else if ($pm10final < 141) $ijp=4;
//else if ($pm10final < 200) $ijp=5;
if ($pm10final < 21) $ijp=1;
else if ($pm10final < 51) $ijp=2;
else if ($pm10final < 81) $ijp=3;
else if ($pm10final < 111) $ijp=4;
else if ($pm10final < 151) $ijp=5;
else $ijp=6;
$ijp10=$ijp;
if ($ijp10 > $ijp20) $CURRENT_IJP =$ijp10;
else $CURRENT_IJP=$ijp20;
$liczniki[$CURRENT_IJP]++;
$CURRENT_POM=$data[0];
}
fclose($handle);
}
}
?>
Indeks jakości powietrza:
10800) { ?>
UWAGA: brak aktualnych danych pochodzących czujnika!
Parametry powietrza na żywo
0) {
?>
0) {
?>
PM 2.5 |
µg/m3 |
% |
PM 10 |
µg/m3 |
% |
Temperatura |
°C |
Wilgotność |
% |
|
Ciśnienie |
hPA |
|
Moment pomiaru |
|
|
Lokalizacja
";
else if ($czujniki[$indekser][5]==2)
echo "
Czujnik smogu LOOKO2";
else if ($czujniki[$indekser][5]==0)
echo "
Czujnik smogu SMOGTOK";
else if ($czujniki[$indekser][5]==3)
echo "
";
?>
Indeks jakości powietrza
Indeks Jakości Powietrza służy jednoznacznej i czytelnej prezentacji danych zanieczyszczenia powietrza na podstawie mierzonych parametrów.
Wartości indeksu oznaczają jakość powietrza: od najlepszej (wartość 1) do najgorszej (wartość 6).
Wartość Indeksu Jakości Powietrza liczona jest zgodnie z tabelą zakresów przedstawioną poniżej. Wyznaczane są indeksy indywidualne dla poszczególnych parametrów zanieczyszczeń.
Czujnik przy wyznaczaniu jakości powietrza bazuje na pomiarach dwóch parametrów - są to pyły zawieszone PM2,5 i PM10. Ogólny indeks przyjmuje wartość najgorszą (maksymalną) ze zmierzonych.
Dane o zanieczyszczeniu powietrza są aktualizowane co około 10.
Zalecenia Światowej Organizacji Zdrowia (WHO) dla norm średniodobowych wynoszą odpowiednio:
- 25 µg/m3 dla PM2,5
- 50 µg/m3 dla PM10
Wartości te są uwzględniane w prezentacji odchylenia bieżących wyników od normy.
Indeks jakości powietrza |
PM10 µg/m3 |
PM2.5 µg/m3 |
Bardzo dobry |
0-20 |
0-13 |
Dobry |
20,1-50 |
13,1-35 |
Umiarkowany |
50,1-80 |
35,1-55 |
Dostateczny |
80,1-110 |
55,1-75 |
Zły |
110,1-150 |
75,1-110 |
Bardzo zły |
> 150 |
>110 |
Przeczytaj więcej o
indeksie jakości powietrza.
Czujniki smogu w okolicy:";
foreach ($czujniki as $czujnik=>$parameteres) {
if ($miasteczko!=$parameteres[0]) {
$zmian = array_search($parameteres[0], $miast);
echo "
" . $parameteres[0]. " smog: ";
}
$miasteczko=$parameteres[0];
echo "
" . $parameteres[1]."";
}
?>